
#ifndef SCENE_H
#define SCENE_H

#include <QSharedPointer>

namespace solar
{
    class TopoTreeViewController;
    class ParaTreeViewController;
    class Location;
    class Sun;
    class Air;
    class Terrain;
    class Camera;
    class Cloud;
    class Scene
    {
        public:
            Scene();

            QSharedPointer<TopoTreeViewController> topo_tree_control_;
            QSharedPointer<ParaTreeViewController>
                para_tree_control_; // 里面包含了若干个ParaTreeModel
            // QList<QSharedPointer<ParaTreeViewController>> world_para_tree_controllist;
            auto getSun() -> Sun*;
            auto getCloud() -> Cloud*;

        private:
            QSharedPointer<Location> location_;
            QSharedPointer<Sun> sun_;
            QSharedPointer<Air> air_;
            QSharedPointer<Terrain> terrain_;
            QSharedPointer<Camera> camera_;

            QSharedPointer<Cloud> cloud_;
    };

} // namespace solar

#endif // SCENE_H
